<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Ruby Features: Ruby Study Notes - Best Ruby Guide, Ruby Tutorial</title>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="Ruby Study Notes - Best Ruby Guide, Ruby Tutorial" />
<meta name="keywords" content="ruby features,ruby study notes,ruby guide,free ruby programming course,best ruby guide,ruby tutorials,ruby tutorial,learn ruby,ruby,ruby on rails,ruby rails,ruby learning,ruby tutoring,learning ruby,ruby programming,ruby on rails development,ruby training" />
<meta name="Distribution" content="Global" />
<meta name="author" content="Satish Talim / Original design: Erwin Aligam - ealigam@gmail.com" />
<meta name="copyright" content="Satish Talim 2007 and beyond..." />
<meta name="verify-v1" content="rFu86se+IkbtF+bH8mgJBKwU5HnKaSd8Ghw9umXQOkM=" />
<meta name="robots" content="index,follow" />
<meta http-equiv="Expires" content="0" />
<meta name="revisit-after" content="1 days" />

<link rel="stylesheet" href="/images/NewOrange.css" type="text/css" />
<link rel="icon" type="image/ico" href="/images/favicon.ico" />
<!-- Google +1 button code -->
<link rel="canonical" href="/satishtalim/features.html" />
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>

<!-- Google Analytics code -->
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-59044-10']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<!-- Google Analytics code ends -->
</head>

<body>
<!-- wrap starts here -->
<div id="wrap">

    <div id="header">

        <h1 id="logo">Ruby<span class="orange">Learning.github.io</span></h1>
        <h2 id="slogan">Helping Ruby Programmers become Awesome!</h2>

    </div>

    <div id="menu">
        <ul>
            <li><a href="/" title="Home page for rubylearning.github.io">Home</a></li>
            <li><a href="/satishtalim/tutorial.html" title="Get started Learning Ruby here...">Tutorial</a></li>
            <li><a href="/download/downloads.html" title="Download this tutorial as an eBook">Downloads</a></li>
            <li><a href="/other/testimonials.html" title="People around the world who benefited from this site">Testimonials</a></li>
            <li><a href="/other/certification.html" title="Get certified in Ruby">Certification</a></li>
            <li><a href="/satishtalim/ruby_guide.html" title="Ruby Guide, Mentor">Mentor</a></li>
            <li><a href="https://blog.rubylearning.github.io/" title="Ruby blog of Ruby Learning site">Blog</a></li>
            <li><a href="/satishtalim/tutorial.html" title="Online Ruby Course">Online Course</a></li>
            <li><a href="http://ruby-challenge.rubylearning.github.io/" title="Ruby Programming Challenge for Newbies">Challenge</a></li>
            <li><a href="/satishtalim/about.html" title="Information about Satish Talim">About</a></li>
        </ul>
    </div>

    <!-- content-wrap starts here -->
    <div id="content-wrap">

            <div id="main">

                <div id="main-inner"><a name="TemplateInfo"></a>
                <h1>Some Features of Ruby</h1>

                <p class="post-footer align-right">
                  <strong>
                    <a href="/satishtalim/first_ruby_program.html">&lt;First Program | </a>
                    <a href="/satishtalim/tutorial.html">TOC | </a>
                    <a href="/satishtalim/numbers_in_ruby.html">Numbers&gt;</a>
                  </strong>
                </p>

                <p>Some of the features of <strong>Ruby</strong> are:</p>

                <ol>
                    <li><span><strong>Free format</strong> - You can start
                        writing your program from any line and
                        column.</span>
                    </li>
                    <li><span><strong>Case sensitive</strong> - Lowercase
                        letters and uppercase letters are distinct. The keyword
                        <strong>end</strong>, for example, is completely
                        different from the keyword
                        <strong>END</strong>.</span>
                    </li>
                    <li><span><strong>Comments</strong> - Anything following an
                        unquoted <strong>#</strong>, to the end of the line on
                        which it appears, is ignored by the interpreter. Also,
                        to facilitate large comment blocks, the ruby interpreter
                        also ignores anything between a line starting with
                        <strong>=begin</strong> and another line starting with
                        <strong>=end</strong>. This only works if the = signs
                        are the first characters of each line.</span>
                    </li>
                    <li><span><strong>Statement delimiters</strong> - Multiple
                        statements on one line must be separated by semicolons,
                        but they are not required at the end of a line; a
                        linefeed is treated like a semicolon. If a line ends
                        with a backslash (\), the linefeed following it is
                        ignored; this allows you to have a single logical line
                        that spans several lines</span>.
                    </li>
                    <li><span><strong><a href="http://ruby-doc.org/core-2.7.0/doc/keywords_rdoc.html">Keywords</a></strong>
                        - Also known as reserved words (around 42 of them) in
                        Ruby typically cannot be used for other purposes. You
                        may be used to thinking that a false value may be
                        represented as a zero, a null string, a null character,
                        or various other things. But in Ruby, all of these
                        *values* are true; in fact, <em>everything is true</em>
                        except the reserved words <strong>false</strong> and
                        <strong>nil</strong>. Keywords would be called "reserved
                        words" in most languages and they would never be allowed
                        as identifiers. The Ruby parser is flexible and does not
                        complain if you prefix these keywords with
                        <strong>@</strong>, <strong>@@</strong> or
                        <strong>$</strong> prefixes, or sigils, and use them as
                        instance, class or global variable names, respectively.
                        The best practice is to treat these
                        <a href="http://ruby-doc.org/core-2.3.0/doc/keywords_rdoc.html">keywords</a>
                        as reserved.</span>
                    </li>
                </ol>

                <p class="post-note">
                    Documentation - The complete documentation for Ruby is
                    available online <a href="http://www.ruby-doc.org/">here</a>. The Ruby Cheat Sheet is (perhaps outdated)
                    <a href="http://cheat.errtheblog.com/" >here</a>.
                </p>

                <p style="background-color: #FAFAFA; padding: 5px; margin-top: 20px; font-size: 65%;"><strong>Note</strong>: The Ruby Logo is Copyright (c) 2006, Yukihiro Matsumoto. I have made extensive references to information, related to Ruby, available in the public domain (wikis and the blogs, articles of various <span style="font-weight: bold;" title="Click Gurus on the menu above">Ruby Gurus</span>), my acknowledgment and thanks to all of them. Much of the material on <a href="/">rubylearning.github.io</a> and in the course at <a href="http://rubylearning.org/">rubylearning.org</a> is drawn <strong>primarily</strong> from the <strong>Programming Ruby book</strong>, available from <a href="https://pragprog.com/book/ruby4/programming-ruby-1-9-2-0">The Pragmatic Bookshelf</a>.</p>

                <p class="post-footer align-right">
                  <strong>
                    <a href="/satishtalim/first_ruby_program.html">&lt;First Program | </a>
                    <a href="/satishtalim/tutorial.html">TOC | </a>
                    <a href="/satishtalim/numbers_in_ruby.html">Numbers&gt;</a>
                  </strong>
                </p>

            </div>
            <!-- main inner ends here -->
        </div>

            <div id="rightbar">

            </div>

    <!-- content-wrap ends here -->
    </div>

<!-- wrap ends here -->
</div>

<!-- footer starts here -->
<div id="footer">
    <!-- CHANGE THE FOOTER -->
    <p>&copy; 2006-2021 <strong>rubylearning.github.io - A Ruby
        Tutorial</strong>&nbsp;&nbsp;Page Updated: 5th Jan. 2021 </br> Design: <a
        href="mailto:ealigam@gmail.com">Erwin Aligam</a> | Valid: <a
        href="http://validator.w3.org/check/referer">XHTML</a> | <a
        href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a
        href="/">Home</a> | <a href="/privacy.html">Privacy</a> | <a
        href="/sitemap.html">Sitemap</a></p>

</div>
<!-- footer ends here -->

<!-- Adsense: RLFeaturesCOL, RLFeatures -->

</body>
</html>
